Phase interpolation is a method of increasing the resolution of the clock and data recovery (CDR) clock beyond the native resolution of the input clock phase spacing. By taking a programmable, linear combination of the input phases, Phase Interpolators can be used to generate an arbitrary number of intermediate phases between each of the input phases. Finer resolution of the intermediate phases leads to lower deterministic jitter in the serial data link.